<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:tns="http://schemas.datacontract.org/2004/07/PayFlex.EFatura.ClientInterface.Contract.DTO.Shared" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/PayFlex.EFatura.ClientInterface.Contract.DTO.Shared" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="https://efatura.innova.com.tr/ReportService?xsd=xsd6" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
  <xs:import schemaLocation="https://efatura.innova.com.tr/ReportService?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
  <xs:complexType name="InvoiceBody">
    <xs:sequence>
      <xs:element minOccurs="0" name="AccountingCost" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="AccountingCustomerParty" nillable="true" type="tns:CustomerParty" />
      <xs:element minOccurs="0" name="AccountingSupplierParty" nillable="true" type="tns:SupplierParty" />
      <xs:element minOccurs="0" name="AdditionalDocumentReference" nillable="true" type="tns:ArrayOfDocumentReference" />
      <xs:element minOccurs="0" name="AllowanceCharge" nillable="true" type="tns:AllowanceCharge" />
      <xs:element minOccurs="0" name="AllowanceCharges" nillable="true" type="tns:ArrayOfAllowanceCharge" />
      <xs:element minOccurs="0" name="BillingReference" nillable="true" type="tns:ArrayOfBillingReference" />
      <xs:element minOccurs="0" name="BuyerCustomerParty" nillable="true" type="tns:Party" />
      <xs:element minOccurs="0" name="ContractDocumentReference" nillable="true" type="tns:ArrayOfDocumentReference" />
      <xs:element minOccurs="0" name="CopyIndicator" type="xs:boolean" />
      <xs:element minOccurs="0" name="Delivery" nillable="true" type="tns:ArrayOfDelivery" />
      <xs:element minOccurs="0" name="DespatchDocumentReference" nillable="true" type="tns:ArrayOfDocumentReference" />
      <xs:element minOccurs="0" name="DocumentCurrencyCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="InvoiceLine" nillable="true" type="tns:ArrayOfInvoiceLine" />
      <xs:element minOccurs="0" name="InvoicePeriod" nillable="true" type="tns:Period" />
      <xs:element minOccurs="0" name="InvoiceTypeCode" type="xs:int" />
      <xs:element minOccurs="0" name="IssueDateTime" type="xs:dateTime" />
      <xs:element minOccurs="0" name="LegalMonetaryTotal" nillable="true" type="tns:MonetaryTotal" />
      <xs:element xmlns:q1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="Notes" nillable="true" type="q1:ArrayOfstring" />
      <xs:element minOccurs="0" name="OrderReference" nillable="true" type="tns:OrderReference" />
      <xs:element minOccurs="0" name="OriginatorDocumentReference" nillable="true" type="tns:ArrayOfDocumentReference" />
      <xs:element minOccurs="0" name="PaymentAlternativeCurrencyCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PaymentAlternativeExchangeRate" nillable="true" type="tns:ExchangeRate" />
      <xs:element minOccurs="0" name="PaymentCurrencyCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PaymentExchangeRate" nillable="true" type="tns:ExchangeRate" />
      <xs:element minOccurs="0" name="PaymentMeans" nillable="true" type="tns:ArrayOfPaymentMeans" />
      <xs:element minOccurs="0" name="PaymentTerms" nillable="true" type="tns:PaymentTerms" />
      <xs:element minOccurs="0" name="PricingCurrencyCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PricingExchangeRate" nillable="true" type="tns:ExchangeRate" />
      <xs:element minOccurs="0" name="ProfileID" type="xs:int" />
      <xs:element minOccurs="0" name="ReceiptDocumentReference" nillable="true" type="tns:ArrayOfDocumentReference" />
      <xs:element minOccurs="0" name="SellerSupplierParty" nillable="true" type="tns:Party" />
      <xs:element minOccurs="0" name="TaxCurrencyCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TaxExchangeRate" nillable="true" type="tns:ExchangeRate" />
      <xs:element minOccurs="0" name="TaxRepresentativeParty" nillable="true" type="tns:Party" />
      <xs:element minOccurs="0" name="TaxTotal" nillable="true" type="tns:ArrayOfTaxTotal" />
      <xs:element minOccurs="0" name="UUID" type="ser:guid" />
      <xs:element minOccurs="0" name="WithholdingTaxTotal" nillable="true" type="tns:ArrayOfTaxTotal" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="InvoiceBody" nillable="true" type="tns:InvoiceBody" />
  <xs:complexType name="CustomerParty">
    <xs:sequence>
      <xs:element minOccurs="0" name="Party" nillable="true" type="tns:Party" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CustomerParty" nillable="true" type="tns:CustomerParty" />
  <xs:complexType name="Party">
    <xs:sequence>
      <xs:element minOccurs="0" name="AgentParty" nillable="true" type="tns:AgentParty" />
      <xs:element minOccurs="0" name="Contact" nillable="true" type="tns:Contact" />
      <xs:element minOccurs="0" name="IndustryClassificationCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PartyIdentifications" nillable="true" type="tns:ArrayOfPartyIdentification" />
      <xs:element minOccurs="0" name="PartyLegalEntity" nillable="true" type="tns:ArrayOfPartyLegalEntity" />
      <xs:element minOccurs="0" name="PartyName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PartyTax" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Person" nillable="true" type="tns:Person" />
      <xs:element minOccurs="0" name="PostalAddress" nillable="true" type="tns:Address" />
      <xs:element minOccurs="0" name="WebsiteURI" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Party" nillable="true" type="tns:Party" />
  <xs:complexType name="AgentParty">
    <xs:sequence>
      <xs:element minOccurs="0" name="Contact" nillable="true" type="tns:Contact" />
      <xs:element minOccurs="0" name="IndustryClassificationCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PartyIdentifications" nillable="true" type="tns:ArrayOfPartyIdentification" />
      <xs:element minOccurs="0" name="PartyName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PartyTax" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Person" nillable="true" type="tns:Person" />
      <xs:element minOccurs="0" name="PostalAddress" nillable="true" type="tns:Address" />
      <xs:element minOccurs="0" name="WebsiteURI" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AgentParty" nillable="true" type="tns:AgentParty" />
  <xs:complexType name="Contact">
    <xs:sequence>
      <xs:element minOccurs="0" name="ElectronicMail" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Note" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="OtherCommunication" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Telefax" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Telephone" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Contact" nillable="true" type="tns:Contact" />
  <xs:complexType name="ArrayOfPartyIdentification">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="PartyIdentification" nillable="true" type="tns:PartyIdentification" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfPartyIdentification" nillable="true" type="tns:ArrayOfPartyIdentification" />
  <xs:complexType name="PartyIdentification">
    <xs:sequence>
      <xs:element minOccurs="0" name="SchemeID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Value" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="PartyIdentification" nillable="true" type="tns:PartyIdentification" />
  <xs:complexType name="Person">
    <xs:sequence>
      <xs:element minOccurs="0" name="FamilyName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="FinancialAccount" nillable="true" type="tns:FinancialAccount" />
      <xs:element minOccurs="0" name="FirstName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="IdentityDocumentReference" nillable="true" type="tns:IdentityDocumentReference" />
      <xs:element minOccurs="0" name="MiddleName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="NameSuffix" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="NationalityID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Title" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Person" nillable="true" type="tns:Person" />
  <xs:complexType name="FinancialAccount">
    <xs:sequence>
      <xs:element minOccurs="0" name="CurrencyCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="FinancialInstitutionBranch" nillable="true" type="tns:Branch" />
      <xs:element minOccurs="0" name="ID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PaymentNote" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="FinancialAccount" nillable="true" type="tns:FinancialAccount" />
  <xs:complexType name="Branch">
    <xs:sequence>
      <xs:element minOccurs="0" name="FinancialInstitution" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Branch" nillable="true" type="tns:Branch" />
  <xs:complexType name="IdentityDocumentReference">
    <xs:sequence>
      <xs:element minOccurs="0" name="Attachment" nillable="true" type="tns:Attachment" />
      <xs:element xmlns:q2="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="DocumentDescription" nillable="true" type="q2:ArrayOfstring" />
      <xs:element minOccurs="0" name="DocumentType" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="DocumentTypeCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="IssueDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="ValidityPeriod" nillable="true" type="tns:Period" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="IdentityDocumentReference" nillable="true" type="tns:IdentityDocumentReference" />
  <xs:complexType name="Attachment">
    <xs:sequence>
      <xs:element minOccurs="0" name="EmbeddedDocumentBinaryObject" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ExternalReference" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="FileName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="MimeCode" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Attachment" nillable="true" type="tns:Attachment" />
  <xs:complexType name="Period">
    <xs:sequence>
      <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="DurationMeasureCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="DurationMeasureValue" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="EndDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="EndDateTime" type="xs:dateTime" />
      <xs:element minOccurs="0" name="StartDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="StartDateTime" type="xs:dateTime" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Period" nillable="true" type="tns:Period" />
  <xs:complexType name="Address">
    <xs:sequence>
      <xs:element minOccurs="0" name="BlockName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="BuildingName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="BuildingNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CityName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CitySubdivisionName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Country" nillable="true" type="tns:Country" />
      <xs:element minOccurs="0" name="District" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PostBox" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PostalZone" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Region" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Room" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="StreetName" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Address" nillable="true" type="tns:Address" />
  <xs:complexType name="Country">
    <xs:sequence>
      <xs:element minOccurs="0" name="IdentificationCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Country" nillable="true" type="tns:Country" />
  <xs:complexType name="ArrayOfPartyLegalEntity">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="PartyLegalEntity" nillable="true" type="tns:PartyLegalEntity" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfPartyLegalEntity" nillable="true" type="tns:ArrayOfPartyLegalEntity" />
  <xs:complexType name="PartyLegalEntity">
    <xs:sequence>
      <xs:element minOccurs="0" name="CompanyID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CorporateRegistrationScheme" nillable="true" type="tns:CorporateRegistrationScheme" />
      <xs:element minOccurs="0" name="CorporateStockAmount" nillable="true" type="tns:Amount" />
      <xs:element minOccurs="0" name="FullyPaidSharesIndicator" type="xs:boolean" />
      <xs:element minOccurs="0" name="HeadParty" nillable="true" type="tns:HeadParty" />
      <xs:element minOccurs="0" name="RegistrationDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="RegistrationName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="SoleProprietorshipIndicator" type="xs:boolean" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="PartyLegalEntity" nillable="true" type="tns:PartyLegalEntity" />
  <xs:complexType name="CorporateRegistrationScheme">
    <xs:sequence>
      <xs:element minOccurs="0" name="ID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="JurisdictionRegionAddress" nillable="true" type="tns:Address" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CorporateRegistrationScheme" nillable="true" type="tns:CorporateRegistrationScheme" />
  <xs:complexType name="Amount">
    <xs:sequence>
      <xs:element minOccurs="0" name="CurrencyCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Value" type="xs:decimal" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Amount" nillable="true" type="tns:Amount" />
  <xs:complexType name="HeadParty">
    <xs:sequence>
      <xs:element minOccurs="0" name="AgentParty" nillable="true" type="tns:AgentParty" />
      <xs:element minOccurs="0" name="Contact" nillable="true" type="tns:Contact" />
      <xs:element minOccurs="0" name="IndustryClassificationCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PartyIdentifications" nillable="true" type="tns:ArrayOfPartyIdentification" />
      <xs:element minOccurs="0" name="PartyName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PartyTax" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Person" nillable="true" type="tns:Person" />
      <xs:element minOccurs="0" name="PostalAddress" nillable="true" type="tns:Address" />
      <xs:element minOccurs="0" name="WebsiteURI" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="HeadParty" nillable="true" type="tns:HeadParty" />
  <xs:complexType name="SupplierParty">
    <xs:sequence>
      <xs:element minOccurs="0" name="Party" nillable="true" type="tns:Party" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SupplierParty" nillable="true" type="tns:SupplierParty" />
  <xs:complexType name="ArrayOfDocumentReference">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="DocumentReference" nillable="true" type="tns:DocumentReference" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfDocumentReference" nillable="true" type="tns:ArrayOfDocumentReference" />
  <xs:complexType name="DocumentReference">
    <xs:sequence>
      <xs:element minOccurs="0" name="Attachment" nillable="true" type="tns:Attachment" />
      <xs:element xmlns:q3="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="DocumentDescription" nillable="true" type="q3:ArrayOfstring" />
      <xs:element minOccurs="0" name="DocumentType" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="DocumentTypeCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="IssueDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="IssuerParty" nillable="true" type="tns:Party" />
      <xs:element minOccurs="0" name="ValidityPeriod" nillable="true" type="tns:Period" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="DocumentReference" nillable="true" type="tns:DocumentReference" />
  <xs:complexType name="AllowanceCharge">
    <xs:sequence>
      <xs:element minOccurs="0" name="AllowanceChargeReason" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Amount" nillable="true" type="tns:Amount" />
      <xs:element minOccurs="0" name="BaseAmount" nillable="true" type="tns:Amount" />
      <xs:element minOccurs="0" name="ChargeIndicator" type="xs:boolean" />
      <xs:element minOccurs="0" name="MultiplierFactorNumeric" type="xs:decimal" />
      <xs:element minOccurs="0" name="PerUnitAmount" nillable="true" type="tns:Amount" />
      <xs:element minOccurs="0" name="SequenceNumeric" type="xs:decimal" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AllowanceCharge" nillable="true" type="tns:AllowanceCharge" />
  <xs:complexType name="ArrayOfAllowanceCharge">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="AllowanceCharge" nillable="true" type="tns:AllowanceCharge" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfAllowanceCharge" nillable="true" type="tns:ArrayOfAllowanceCharge" />
  <xs:complexType name="ArrayOfBillingReference">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="BillingReference" nillable="true" type="tns:BillingReference" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfBillingReference" nillable="true" type="tns:ArrayOfBillingReference" />
  <xs:complexType name="BillingReference">
    <xs:sequence>
      <xs:element minOccurs="0" name="BillingReferenceLine" nillable="true" type="tns:ArrayOfBillingReferenceLine" />
      <xs:element minOccurs="0" name="CreditNoteDocumentReference" nillable="true" type="tns:DocumentReference" />
      <xs:element minOccurs="0" name="DebitNoteDocumentReference" nillable="true" type="tns:DocumentReference" />
      <xs:element minOccurs="0" name="InvoiceDocumentReference" nillable="true" type="tns:DocumentReference" />
      <xs:element minOccurs="0" name="ReminderDocumentReference" nillable="true" type="tns:DocumentReference" />
      <xs:element minOccurs="0" name="SelfBilledInvoiceDocumentReference" nillable="true" type="tns:DocumentReference" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="BillingReference" nillable="true" type="tns:BillingReference" />
  <xs:complexType name="ArrayOfBillingReferenceLine">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="BillingReferenceLine" nillable="true" type="tns:BillingReferenceLine" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfBillingReferenceLine" nillable="true" type="tns:ArrayOfBillingReferenceLine" />
  <xs:complexType name="BillingReferenceLine">
    <xs:sequence>
      <xs:element minOccurs="0" name="AllowanceCharge" nillable="true" type="tns:ArrayOfAllowanceCharge" />
      <xs:element minOccurs="0" name="Amount" nillable="true" type="tns:Amount" />
      <xs:element minOccurs="0" name="ID" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="BillingReferenceLine" nillable="true" type="tns:BillingReferenceLine" />
  <xs:complexType name="ArrayOfDelivery">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Delivery" nillable="true" type="tns:Delivery" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfDelivery" nillable="true" type="tns:ArrayOfDelivery" />
  <xs:complexType name="Delivery">
    <xs:sequence>
      <xs:element minOccurs="0" name="ActualDeliveryDateTime" type="xs:dateTime" />
      <xs:element minOccurs="0" name="AlternativeDeliveryLocation" nillable="true" type="tns:Location" />
      <xs:element minOccurs="0" name="CarrierParty" nillable="true" type="tns:Party" />
      <xs:element minOccurs="0" name="DeliveryAddress" nillable="true" type="tns:Address" />
      <xs:element minOccurs="0" name="DeliveryParty" nillable="true" type="tns:Party" />
      <xs:element minOccurs="0" name="DeliveryTerms" nillable="true" type="tns:ArrayOfDeliveryTerms" />
      <xs:element minOccurs="0" name="Despatch" nillable="true" type="tns:Despatch" />
      <xs:element minOccurs="0" name="EstimatedDeliveryPeriod" nillable="true" type="tns:Period" />
      <xs:element minOccurs="0" name="ID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="LatestDeliveryDateTime" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Quantity" type="xs:decimal" />
      <xs:element minOccurs="0" name="Shipment" nillable="true" type="tns:Shipment" />
      <xs:element minOccurs="0" name="TrackingID" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Delivery" nillable="true" type="tns:Delivery" />
  <xs:complexType name="Location">
    <xs:sequence>
      <xs:element minOccurs="0" name="Address" nillable="true" type="tns:Address" />
      <xs:element minOccurs="0" name="ID" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Location" nillable="true" type="tns:Location" />
  <xs:complexType name="ArrayOfDeliveryTerms">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="DeliveryTerms" nillable="true" type="tns:DeliveryTerms" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfDeliveryTerms" nillable="true" type="tns:ArrayOfDeliveryTerms" />
  <xs:complexType name="DeliveryTerms">
    <xs:sequence>
      <xs:element minOccurs="0" name="Amount" nillable="true" type="tns:Amount" />
      <xs:element minOccurs="0" name="ID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="SpecialTerms" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="DeliveryTerms" nillable="true" type="tns:DeliveryTerms" />
  <xs:complexType name="Despatch">
    <xs:sequence>
      <xs:element minOccurs="0" name="ActualDespatchDateTime" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Contact" nillable="true" type="tns:Contact" />
      <xs:element minOccurs="0" name="DespatchAddress" nillable="true" type="tns:Address" />
      <xs:element minOccurs="0" name="DespatchParty" nillable="true" type="tns:Party" />
      <xs:element minOccurs="0" name="EstimatedDespatchPeriod" nillable="true" type="tns:Period" />
      <xs:element minOccurs="0" name="ID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Instructions" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Despatch" nillable="true" type="tns:Despatch" />
  <xs:complexType name="Shipment">
    <xs:sequence>
      <xs:element minOccurs="0" name="DeclaredCustomsValueAmount" nillable="true" type="tns:Amount" />
      <xs:element minOccurs="0" name="DeclaredForCarriageValueAmount" nillable="true" type="tns:Amount" />
      <xs:element minOccurs="0" name="DeclaredStatisticsValueAmount" nillable="true" type="tns:Amount" />
      <xs:element minOccurs="0" name="FirstArrivalPortLocation" nillable="true" type="tns:Location" />
      <xs:element minOccurs="0" name="FreeOnBoardValueAmount" nillable="true" type="tns:Amount" />
      <xs:element minOccurs="0" name="GrossVolumeMeasure" nillable="true" type="tns:Measure" />
      <xs:element minOccurs="0" name="GrossWeightMeasure" nillable="true" type="tns:Measure" />
      <xs:element minOccurs="0" name="HandlingCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="HandlingInstructions" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="InsuranceValueAmount" nillable="true" type="tns:Amount" />
      <xs:element minOccurs="0" name="LastExitPortLocation" nillable="true" type="tns:Location" />
      <xs:element minOccurs="0" name="NetVolumeMeasure" nillable="true" type="tns:Measure" />
      <xs:element minOccurs="0" name="NetWeightMeasure" nillable="true" type="tns:Measure" />
      <xs:element minOccurs="0" name="ReturnAddress" nillable="true" type="tns:Address" />
      <xs:element xmlns:q4="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="SpecialInstructions" nillable="true" type="q4:ArrayOfstring" />
      <xs:element minOccurs="0" name="TotalGoodsItemQuantity" type="xs:decimal" />
      <xs:element minOccurs="0" name="TotalTransportHandlingUnitQuantity" type="xs:decimal" />
      <xs:element minOccurs="0" name="TransportHandlingUnit" nillable="true" type="tns:ArrayOfTransportHandlingUnit" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Shipment" nillable="true" type="tns:Shipment" />
  <xs:complexType name="Measure">
    <xs:sequence>
      <xs:element minOccurs="0" name="UnitCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Value" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Measure" nillable="true" type="tns:Measure" />
  <xs:complexType name="ArrayOfTransportHandlingUnit">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TransportHandlingUnit" nillable="true" type="tns:TransportHandlingUnit" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfTransportHandlingUnit" nillable="true" type="tns:ArrayOfTransportHandlingUnit" />
  <xs:complexType name="TransportHandlingUnit">
    <xs:sequence>
      <xs:element minOccurs="0" name="ActualPackage" nillable="true" type="tns:ArrayOfPackage" />
      <xs:element xmlns:q5="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="CustomsIdentifications" nillable="true" type="q5:ArrayOfstring" />
      <xs:element xmlns:q6="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="DamageRemarks" nillable="true" type="q6:ArrayOfstring" />
      <xs:element minOccurs="0" name="FloorSpaceMeasurementDimension" nillable="true" type="tns:Dimension" />
      <xs:element minOccurs="0" name="HandlingCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="HandlingInstructions" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="HazardousGoodsTransit" nillable="true" type="tns:ArrayOfHazardousGoodsTransit" />
      <xs:element minOccurs="0" name="HazardousRiskIndicator" type="xs:boolean" />
      <xs:element minOccurs="0" name="ID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="MaximumTemperature" nillable="true" type="tns:Temperature" />
      <xs:element minOccurs="0" name="MeasurementDimension" nillable="true" type="tns:ArrayOfDimension" />
      <xs:element minOccurs="0" name="MinimumTemperature" nillable="true" type="tns:Temperature" />
      <xs:element minOccurs="0" name="PalletSpaceMeasurementDimension" nillable="true" type="tns:Dimension" />
      <xs:element minOccurs="0" name="ShipmentDocumentReference" nillable="true" type="tns:ArrayOfDocumentReference" />
      <xs:element minOccurs="0" name="TotalGoodsItemQuantity" type="xs:decimal" />
      <xs:element minOccurs="0" name="TotalPackageQuantity" type="xs:decimal" />
      <xs:element minOccurs="0" name="TraceID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TransportEquipment" nillable="true" type="tns:ArrayOfTransportEquipment" />
      <xs:element minOccurs="0" name="TransportHandlingUnitTypeCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TransportMeans" nillable="true" type="tns:ArrayOfTransportMeans" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="TransportHandlingUnit" nillable="true" type="tns:TransportHandlingUnit" />
  <xs:complexType name="ArrayOfPackage">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Package" nillable="true" type="tns:Package" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfPackage" nillable="true" type="tns:ArrayOfPackage" />
  <xs:complexType name="Package">
    <xs:sequence>
      <xs:element minOccurs="0" name="ContainedPackage" nillable="true" type="tns:ArrayOfContainedPackage" />
      <xs:element minOccurs="0" name="GoodsItem" nillable="true" type="tns:ArrayOfGoodsItem" />
      <xs:element minOccurs="0" name="ID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="MeasurementDimension" nillable="true" type="tns:ArrayOfDimension" />
      <xs:element minOccurs="0" name="PackageLevelCode" nillable="true" type="xs:string" />
      <xs:element xmlns:q7="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="PackagingMaterial" nillable="true" type="q7:ArrayOfstring" />
      <xs:element minOccurs="0" name="PackagingTypeCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Quantity" type="xs:decimal" />
      <xs:element minOccurs="0" name="ReturnableMaterialIndicator" type="xs:boolean" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Package" nillable="true" type="tns:Package" />
  <xs:complexType name="ArrayOfContainedPackage">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ContainedPackage" nillable="true" type="tns:ContainedPackage" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfContainedPackage" nillable="true" type="tns:ArrayOfContainedPackage" />
  <xs:complexType name="ContainedPackage">
    <xs:sequence>
      <xs:element minOccurs="0" name="GoodsItem" nillable="true" type="tns:ArrayOfGoodsItem" />
      <xs:element minOccurs="0" name="ID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="MeasurementDimension" nillable="true" type="tns:ArrayOfDimension" />
      <xs:element minOccurs="0" name="PackageLevelCode" nillable="true" type="xs:string" />
      <xs:element xmlns:q8="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="PackagingMaterial" nillable="true" type="q8:ArrayOfstring" />
      <xs:element minOccurs="0" name="PackagingTypeCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Quantity" type="xs:decimal" />
      <xs:element minOccurs="0" name="ReturnableMaterialIndicator" type="xs:boolean" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ContainedPackage" nillable="true" type="tns:ContainedPackage" />
  <xs:complexType name="ArrayOfGoodsItem">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="GoodsItem" nillable="true" type="tns:GoodsItem" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfGoodsItem" nillable="true" type="tns:ArrayOfGoodsItem" />
  <xs:complexType name="GoodsItem">
    <xs:sequence>
      <xs:element minOccurs="0" name="ChargableWeightMeasure" nillable="true" type="tns:Measure" />
      <xs:element minOccurs="0" name="ChargeableQuantity" type="xs:decimal" />
      <xs:element minOccurs="0" name="CustomsImportClassifiedIndicator" type="xs:boolean" />
      <xs:element minOccurs="0" name="CustomsStatusCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CustomsTariffQuantity" type="xs:decimal" />
      <xs:element minOccurs="0" name="DeclaredCustomsValueAmount" nillable="true" type="tns:Amount" />
      <xs:element minOccurs="0" name="DeclaredForCarriageValueAmount" nillable="true" type="tns:Amount" />
      <xs:element minOccurs="0" name="DeclaredStatisticsValueAmount" nillable="true" type="tns:Amount" />
      <xs:element xmlns:q9="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="Description" nillable="true" type="q9:ArrayOfstring" />
      <xs:element minOccurs="0" name="FreeOnBoardValueAmount" nillable="true" type="tns:Amount" />
      <xs:element minOccurs="0" name="FreightAllowanceCharge" nillable="true" type="tns:ArrayOfAllowanceCharge" />
      <xs:element minOccurs="0" name="GrossVolumeMeasure" nillable="true" type="tns:Measure" />
      <xs:element minOccurs="0" name="GrossWeightMeasure" nillable="true" type="tns:Measure" />
      <xs:element minOccurs="0" name="HazardousRiskIndicator" type="xs:boolean" />
      <xs:element minOccurs="0" name="ID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="InsuranceValueAmount" nillable="true" type="tns:Amount" />
      <xs:element minOccurs="0" name="Item" nillable="true" type="tns:ArrayOfItem" />
      <xs:element minOccurs="0" name="MeasurementDimension" nillable="true" type="tns:ArrayOfDimension" />
      <xs:element minOccurs="0" name="NetVolumeMeasure" nillable="true" type="tns:Measure" />
      <xs:element minOccurs="0" name="NetWeightMeasure" nillable="true" type="tns:Measure" />
      <xs:element minOccurs="0" name="OriginAddress" nillable="true" type="tns:Address" />
      <xs:element minOccurs="0" name="Quantity" type="xs:decimal" />
      <xs:element minOccurs="0" name="RequiredCustomsID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ReturnableQuantity" type="xs:decimal" />
      <xs:element minOccurs="0" name="Temperature" nillable="true" type="tns:ArrayOfTemperature" />
      <xs:element minOccurs="0" name="TraceID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ValueAmount" nillable="true" type="tns:Amount" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GoodsItem" nillable="true" type="tns:GoodsItem" />
  <xs:complexType name="ArrayOfItem">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Item" nillable="true" type="tns:Item" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfItem" nillable="true" type="tns:ArrayOfItem" />
  <xs:complexType name="Item">
    <xs:sequence>
      <xs:element xmlns:q10="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="AdditionalItemIdentificationCodes" nillable="true" type="q10:ArrayOfstring" />
      <xs:element minOccurs="0" name="BrandName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="BuyersItemIdentification" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CommodityClassification" nillable="true" type="xs:string" />
      <xs:element xmlns:q11="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="CommodityClassificationCodes" nillable="true" type="q11:ArrayOfstring" />
      <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ManufacturersItemIdentification" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ModelName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="SellersItemIdentification" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Item" nillable="true" type="tns:Item" />
  <xs:complexType name="ArrayOfDimension">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Dimension" nillable="true" type="tns:Dimension" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfDimension" nillable="true" type="tns:ArrayOfDimension" />
  <xs:complexType name="Dimension">
    <xs:sequence>
      <xs:element minOccurs="0" name="AttributeID" nillable="true" type="xs:string" />
      <xs:element xmlns:q12="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="Description" nillable="true" type="q12:ArrayOfstring" />
      <xs:element minOccurs="0" name="MaximumMeasure" nillable="true" type="tns:Measure" />
      <xs:element minOccurs="0" name="Measure" nillable="true" type="tns:Measure" />
      <xs:element minOccurs="0" name="MinimumMeasure" nillable="true" type="tns:Measure" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Dimension" nillable="true" type="tns:Dimension" />
  <xs:complexType name="ArrayOfTemperature">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Temperature" nillable="true" type="tns:Temperature" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfTemperature" nillable="true" type="tns:ArrayOfTemperature" />
  <xs:complexType name="Temperature">
    <xs:sequence>
      <xs:element minOccurs="0" name="AttributeID" nillable="true" type="xs:string" />
      <xs:element xmlns:q13="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="Description" nillable="true" type="q13:ArrayOfstring" />
      <xs:element minOccurs="0" name="Measure" nillable="true" type="tns:Measure" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Temperature" nillable="true" type="tns:Temperature" />
  <xs:complexType name="ArrayOfHazardousGoodsTransit">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="HazardousGoodsTransit" nillable="true" type="tns:HazardousGoodsTransit" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfHazardousGoodsTransit" nillable="true" type="tns:ArrayOfHazardousGoodsTransit" />
  <xs:complexType name="HazardousGoodsTransit">
    <xs:sequence>
      <xs:element minOccurs="0" name="HazardousRegulationCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="InhalationToxicityZoneCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="MaximumTemperature" nillable="true" type="tns:Temperature" />
      <xs:element minOccurs="0" name="MinimumTemperature" nillable="true" type="tns:Temperature" />
      <xs:element minOccurs="0" name="PackagingCriteriaCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TransportAuthorizationCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TransportEmergencyCardCode" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="HazardousGoodsTransit" nillable="true" type="tns:HazardousGoodsTransit" />
  <xs:complexType name="ArrayOfTransportEquipment">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TransportEquipment" nillable="true" type="tns:TransportEquipment" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfTransportEquipment" nillable="true" type="tns:ArrayOfTransportEquipment" />
  <xs:complexType name="TransportEquipment">
    <xs:sequence>
      <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TransportEquipmentTypeCode" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="TransportEquipment" nillable="true" type="tns:TransportEquipment" />
  <xs:complexType name="ArrayOfTransportMeans">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TransportMeans" nillable="true" type="tns:TransportMeans" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfTransportMeans" nillable="true" type="tns:ArrayOfTransportMeans" />
  <xs:complexType name="TransportMeans">
    <xs:sequence>
      <xs:element minOccurs="0" name="AirTransport" nillable="true" type="tns:AirTransport" />
      <xs:element minOccurs="0" name="DirectionCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="DriverParty" nillable="true" type="tns:ArrayOfParty" />
      <xs:element minOccurs="0" name="JourneyID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="MaritimeTransport" nillable="true" type="tns:MaritimeTransport" />
      <xs:element minOccurs="0" name="MeasurementDimension" nillable="true" type="tns:ArrayOfDimension" />
      <xs:element minOccurs="0" name="OwnerParty" nillable="true" type="tns:Party" />
      <xs:element minOccurs="0" name="PassengerParty" nillable="true" type="tns:ArrayOfParty" />
      <xs:element minOccurs="0" name="RailTransport" nillable="true" type="tns:RailTransport" />
      <xs:element xmlns:q14="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="RegistrationNationality" nillable="true" type="q14:ArrayOfstring" />
      <xs:element minOccurs="0" name="RegistrationNationalityID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ReportingParty" nillable="true" type="tns:Party" />
      <xs:element minOccurs="0" name="RoadTransport" nillable="true" type="tns:RoadTransport" />
      <xs:element minOccurs="0" name="Stowage" nillable="true" type="tns:Stowage" />
      <xs:element minOccurs="0" name="TradeServiceCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TransportMeansTypeCode" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="TransportMeans" nillable="true" type="tns:TransportMeans" />
  <xs:complexType name="AirTransport">
    <xs:sequence>
      <xs:element minOccurs="0" name="AircraftID" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AirTransport" nillable="true" type="tns:AirTransport" />
  <xs:complexType name="ArrayOfParty">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Party" nillable="true" type="tns:Party" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfParty" nillable="true" type="tns:ArrayOfParty" />
  <xs:complexType name="MaritimeTransport">
    <xs:sequence>
      <xs:element minOccurs="0" name="RadioCallSignID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="VesselID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="VesselName" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="MaritimeTransport" nillable="true" type="tns:MaritimeTransport" />
  <xs:complexType name="RailTransport">
    <xs:sequence>
      <xs:element minOccurs="0" name="RailCarID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TrainID" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="RailTransport" nillable="true" type="tns:RailTransport" />
  <xs:complexType name="RoadTransport">
    <xs:sequence>
      <xs:element minOccurs="0" name="LicensePlateID" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="RoadTransport" nillable="true" type="tns:RoadTransport" />
  <xs:complexType name="Stowage">
    <xs:sequence>
      <xs:element minOccurs="0" name="Location" nillable="true" type="tns:ArrayOfLocation" />
      <xs:element minOccurs="0" name="LocationID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="MeasurementDimension" nillable="true" type="tns:ArrayOfDimension" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Stowage" nillable="true" type="tns:Stowage" />
  <xs:complexType name="ArrayOfLocation">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Location" nillable="true" type="tns:Location" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfLocation" nillable="true" type="tns:ArrayOfLocation" />
  <xs:complexType name="ArrayOfInvoiceLine">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="InvoiceLine" nillable="true" type="tns:InvoiceLine" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfInvoiceLine" nillable="true" type="tns:ArrayOfInvoiceLine" />
  <xs:complexType name="InvoiceLine">
    <xs:sequence>
      <xs:element minOccurs="0" name="AllowanceCharge" nillable="true" type="tns:AllowanceCharge" />
      <xs:element minOccurs="0" name="AllowanceCharges" nillable="true" type="tns:ArrayOfAllowanceCharge" />
      <xs:element minOccurs="0" name="Delivery" nillable="true" type="tns:ArrayOfDelivery" />
      <xs:element minOccurs="0" name="DespatchLineReference" nillable="true" type="tns:ArrayOfLineReference" />
      <xs:element minOccurs="0" name="InvoicedQuantityUnitCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="InvoicedQuantityValue" type="xs:decimal" />
      <xs:element minOccurs="0" name="Item" nillable="true" type="tns:Item" />
      <xs:element minOccurs="0" name="LineExtensionAmount" nillable="true" type="tns:Amount" />
      <xs:element minOccurs="0" name="Note" nillable="true" type="xs:string" />
      <xs:element xmlns:q15="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="Notes" nillable="true" type="q15:ArrayOfstring" />
      <xs:element minOccurs="0" name="OrderLineReference" nillable="true" type="tns:ArrayOfOrderLineReference" />
      <xs:element minOccurs="0" name="Price" nillable="true" type="tns:Amount" />
      <xs:element minOccurs="0" name="ReceiptLineReference" nillable="true" type="tns:ArrayOfLineReference" />
      <xs:element minOccurs="0" name="SubInvoiceLine" nillable="true" type="tns:ArrayOfInvoiceSubLine" />
      <xs:element minOccurs="0" name="TaxTotal" nillable="true" type="tns:TaxTotal" />
      <xs:element minOccurs="0" name="WithholdingTaxTotal" nillable="true" type="tns:ArrayOfTaxTotal" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="InvoiceLine" nillable="true" type="tns:InvoiceLine" />
  <xs:complexType name="ArrayOfLineReference">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="LineReference" nillable="true" type="tns:LineReference" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfLineReference" nillable="true" type="tns:ArrayOfLineReference" />
  <xs:complexType name="LineReference">
    <xs:sequence>
      <xs:element minOccurs="0" name="DocumentReference" nillable="true" type="tns:DocumentReference" />
      <xs:element minOccurs="0" name="LineID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="LineStatusCode" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="LineReference" nillable="true" type="tns:LineReference" />
  <xs:complexType name="ArrayOfOrderLineReference">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="OrderLineReference" nillable="true" type="tns:OrderLineReference" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfOrderLineReference" nillable="true" type="tns:ArrayOfOrderLineReference" />
  <xs:complexType name="OrderLineReference">
    <xs:sequence>
      <xs:element minOccurs="0" name="LineID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="LineStatusCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="OrderReference" nillable="true" type="tns:OrderReference" />
      <xs:element minOccurs="0" name="SalesOrderLineID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UUID" type="ser:guid" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="OrderLineReference" nillable="true" type="tns:OrderLineReference" />
  <xs:complexType name="OrderReference">
    <xs:sequence>
      <xs:element minOccurs="0" name="DocumentReference" nillable="true" type="tns:ArrayOfDocumentReference" />
      <xs:element minOccurs="0" name="ID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="IssueDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="OrderTypeCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="SalesOrderID" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="OrderReference" nillable="true" type="tns:OrderReference" />
  <xs:complexType name="ArrayOfInvoiceSubLine">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="InvoiceSubLine" nillable="true" type="tns:InvoiceSubLine" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfInvoiceSubLine" nillable="true" type="tns:ArrayOfInvoiceSubLine" />
  <xs:complexType name="InvoiceSubLine">
    <xs:sequence>
      <xs:element minOccurs="0" name="AllowanceCharge" nillable="true" type="tns:ArrayOfAllowanceCharge" />
      <xs:element minOccurs="0" name="Delivery" nillable="true" type="tns:ArrayOfDelivery" />
      <xs:element minOccurs="0" name="DespatchLineReference" nillable="true" type="tns:ArrayOfLineReference" />
      <xs:element minOccurs="0" name="InvoicedQuantityUnitCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="InvoicedQuantityValue" type="xs:decimal" />
      <xs:element minOccurs="0" name="Item" nillable="true" type="tns:Item" />
      <xs:element minOccurs="0" name="LineExtensionAmount" nillable="true" type="tns:Amount" />
      <xs:element xmlns:q16="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="Notes" nillable="true" type="q16:ArrayOfstring" />
      <xs:element minOccurs="0" name="OrderLineReference" nillable="true" type="tns:ArrayOfOrderLineReference" />
      <xs:element minOccurs="0" name="Price" nillable="true" type="tns:Amount" />
      <xs:element minOccurs="0" name="ReceiptLineReference" nillable="true" type="tns:ArrayOfLineReference" />
      <xs:element minOccurs="0" name="TaxTotal" nillable="true" type="tns:TaxTotal" />
      <xs:element minOccurs="0" name="WithholdingTaxTotal" nillable="true" type="tns:ArrayOfTaxTotal" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="InvoiceSubLine" nillable="true" type="tns:InvoiceSubLine" />
  <xs:complexType name="TaxTotal">
    <xs:sequence>
      <xs:element minOccurs="0" name="TaxAmount" nillable="true" type="tns:Amount" />
      <xs:element minOccurs="0" name="TaxSubtotal" nillable="true" type="tns:ArrayOfTaxSubtotal" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="TaxTotal" nillable="true" type="tns:TaxTotal" />
  <xs:complexType name="ArrayOfTaxSubtotal">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TaxSubtotal" nillable="true" type="tns:TaxSubtotal" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfTaxSubtotal" nillable="true" type="tns:ArrayOfTaxSubtotal" />
  <xs:complexType name="TaxSubtotal">
    <xs:sequence>
      <xs:element minOccurs="0" name="BaseUnitMeasure" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="BaseUnitMeasureCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CalculationSequenceNumeric" type="xs:decimal" />
      <xs:element minOccurs="0" name="PerUnitAmount" nillable="true" type="tns:Amount" />
      <xs:element minOccurs="0" name="Percent" type="xs:decimal" />
      <xs:element minOccurs="0" name="TaxAmount" nillable="true" type="tns:Amount" />
      <xs:element minOccurs="0" name="TaxCategoryExemptionReason" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TaxCategoryExemptionReasonCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TaxCategorySchemeCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TaxCategorySchemeName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TaxableAmount" nillable="true" type="tns:Amount" />
      <xs:element minOccurs="0" name="TransactionCurrencyTaxAmount" nillable="true" type="tns:Amount" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="TaxSubtotal" nillable="true" type="tns:TaxSubtotal" />
  <xs:complexType name="ArrayOfTaxTotal">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TaxTotal" nillable="true" type="tns:TaxTotal" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfTaxTotal" nillable="true" type="tns:ArrayOfTaxTotal" />
  <xs:complexType name="MonetaryTotal">
    <xs:sequence>
      <xs:element minOccurs="0" name="AllowanceTotalAmount" nillable="true" type="tns:Amount" />
      <xs:element minOccurs="0" name="ChargeTotalAmount" nillable="true" type="tns:Amount" />
      <xs:element minOccurs="0" name="LineExtensionAmount" nillable="true" type="tns:Amount" />
      <xs:element minOccurs="0" name="PayableAmount" nillable="true" type="tns:Amount" />
      <xs:element minOccurs="0" name="PayableRoundingAmount" nillable="true" type="tns:Amount" />
      <xs:element minOccurs="0" name="TaxExclusiveAmount" nillable="true" type="tns:Amount" />
      <xs:element minOccurs="0" name="TaxInclusiveAmount" nillable="true" type="tns:Amount" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="MonetaryTotal" nillable="true" type="tns:MonetaryTotal" />
  <xs:complexType name="ExchangeRate">
    <xs:sequence>
      <xs:element minOccurs="0" name="CalculationRate" type="xs:decimal" />
      <xs:element minOccurs="0" name="Date" type="xs:dateTime" />
      <xs:element minOccurs="0" name="SourceCurrencyCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TargetCurrencyCode" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ExchangeRate" nillable="true" type="tns:ExchangeRate" />
  <xs:complexType name="ArrayOfPaymentMeans">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="PaymentMeans" nillable="true" type="tns:PaymentMeans" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfPaymentMeans" nillable="true" type="tns:ArrayOfPaymentMeans" />
  <xs:complexType name="PaymentMeans">
    <xs:sequence>
      <xs:element minOccurs="0" name="InstructionNote" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PayeeFinancialAccount" nillable="true" type="tns:FinancialAccount" />
      <xs:element minOccurs="0" name="PayerFinancialAccount" nillable="true" type="tns:FinancialAccount" />
      <xs:element minOccurs="0" name="PaymentChannelCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PaymentDueDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="PaymentMeansCode" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="PaymentMeans" nillable="true" type="tns:PaymentMeans" />
  <xs:complexType name="PaymentTerms">
    <xs:sequence>
      <xs:element minOccurs="0" name="Amount" nillable="true" type="tns:Amount" />
      <xs:element minOccurs="0" name="Note" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PaymentDueDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="PenaltyAmount" nillable="true" type="tns:Amount" />
      <xs:element minOccurs="0" name="PenaltySurchargePercent" type="xs:decimal" />
      <xs:element minOccurs="0" name="SettlementPeriod" nillable="true" type="tns:Period" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="PaymentTerms" nillable="true" type="tns:PaymentTerms" />
  <xs:complexType name="OutgoingInvoiceHeader">
    <xs:sequence>
      <xs:element minOccurs="0" name="ExternalDepartmentId" nillable="true" type="xs:string" />
      <xs:element xmlns:q17="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="InvoiceLabels" nillable="true" type="q17:ArrayOfstring" />
      <xs:element minOccurs="0" name="InvoiceMembershipType" type="xs:int" />
      <xs:element minOccurs="0" name="InvoiceNumberPrefix" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="InvoiceSaleType" type="xs:int" />
      <xs:element minOccurs="0" name="InvoiceSendType" type="xs:int" />
      <xs:element minOccurs="0" name="IsDraft" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsOverrideWithRetry" type="xs:boolean" />
      <xs:element minOccurs="0" name="IsWayBill" type="xs:boolean" />
      <xs:element minOccurs="0" name="OnlineSaleInfo" nillable="true" type="tns:OnlineSaleInfo" />
      <xs:element minOccurs="0" name="OperationSourceCode" type="xs:int" />
      <xs:element minOccurs="0" name="PaymentRecorederInfo" nillable="true" type="tns:PaymentRecorderInfo" />
      <xs:element minOccurs="0" name="ReceiverAlias" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ReceiverIdentityNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="SenderAlias" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TrackNumber" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="OutgoingInvoiceHeader" nillable="true" type="tns:OutgoingInvoiceHeader" />
  <xs:complexType name="OnlineSaleInfo">
    <xs:sequence>
      <xs:element minOccurs="0" name="OtherExplanations" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PaymentAgent" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PaymentDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="PaymentType" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ShippingInfo" nillable="true" type="tns:OnlineSaleShippingInfo" />
      <xs:element minOccurs="0" name="WebAddress" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="OnlineSaleInfo" nillable="true" type="tns:OnlineSaleInfo" />
  <xs:complexType name="OnlineSaleShippingInfo">
    <xs:sequence>
      <xs:element minOccurs="0" name="AgentIdentification" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="AgentName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="AgentSurName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="AgentType" type="xs:int" />
      <xs:element minOccurs="0" name="ShippingDate" type="xs:dateTime" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="OnlineSaleShippingInfo" nillable="true" type="tns:OnlineSaleShippingInfo" />
  <xs:complexType name="PaymentRecorderInfo">
    <xs:sequence>
      <xs:element minOccurs="0" name="SerialNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="SlipDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="SlipNo" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ZNo" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="PaymentRecorderInfo" nillable="true" type="tns:PaymentRecorderInfo" />
  <xs:complexType name="ArrayOfInvoiceResultItem">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="InvoiceResultItem" nillable="true" type="tns:InvoiceResultItem" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfInvoiceResultItem" nillable="true" type="tns:ArrayOfInvoiceResultItem" />
  <xs:complexType name="InvoiceResultItem">
    <xs:sequence>
      <xs:element minOccurs="0" name="InvoiceNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ReferenceNumber" type="xs:long" />
      <xs:element minOccurs="0" name="ResponseCode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ResponseDescription" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ResponseStatus" type="xs:int" />
      <xs:element minOccurs="0" name="TrackNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ViewUrl" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="InvoiceResultItem" nillable="true" type="tns:InvoiceResultItem" />
  <xs:complexType name="IncomingInvoiceHeader">
    <xs:sequence>
      <xs:element minOccurs="0" name="ReceiveDateTime" type="xs:dateTime" />
      <xs:element minOccurs="0" name="ReceiverAlias" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ReferenceNumber" type="xs:long" />
      <xs:element minOccurs="0" name="SenderAlias" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="SenderIdentityNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ViewUrl" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="IncomingInvoiceHeader" nillable="true" type="tns:IncomingInvoiceHeader" />
</xs:schema>